package com.wang.dao;

import com.wang.domain.Customer;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

/**
 * @author 微笑
 * @date 2020/5/30 11:20
 */
/**
 * JpaRepository<T, ID extends Serializable>
 *      参数一：T泛型，表示实体类
 *      参数二：实体中ID的数据类型（主键的数据类型）
 */
public interface CustomerDao extends JpaRepository<Customer,Long> {

    // 按照客户名称模糊查询，同时按照客户所属行业匹配查询
    /**
     * 如果jpql语句中存在多个占位符?，那么方法的参数的顺序与问号顺序要匹配，如果不一致呢？
     * 如果不一致，使用?+数字的形式
     *   例如：
     *   ?1：表示第1个参数
     *   ?2：表示第2个参数
     *   ?3：表示第3个参数
     *
     */
    @Query(value = "from Customer where custName like ? and custIndustry = ?")
    public List<Customer> findCustNameLikeAndCustIndustry(String custName, String custIndustry);

    /**
     * @Query
    value ：jpql语句 | sql语句
    nativeQuery ：false（使用jpql查询--默认值） | true（使用本地查询：sql查询）
     */
    @Query(value = "select * from cst_customer",nativeQuery = true)
    List<Customer> findAllCustomerSQL();

}
